1. Field of the Invention
The invention relates to traffic monitoring in packet networks, and in particular, to utilizing a null-jitter buffer to monitor session traffic.
2. Description of the Prior Art
Jitter buffers are commonly located at the end points of packet communication paths used for real-time communications on a packet-switched network. In a packet-switched network, units of data called packets are routed through the network based on an address value associated with each packet or each group of packets. This allows network paths to be shared by a plurality of users. The internet is an example of a packet-switched network.
Jitter buffers are typically used to improve the quality of real-time applications by buffering input so that packets may be presented to the user in a substantially contiguous and continuous manner. Jitter buffers may be static or dynamic. Static jitter buffers are configured with a particular size that does not change during operation. When a static jitter buffer becomes congested, packets are simply dropped. In contrast, dynamic jitter buffers can be automatically reconfigured to accommodate higher traffic patterns. Dynamic jitter buffers are sometimes referred to as adaptive jitter buffers.
FIG. 1 illustrates a network topology representative of the prior art, wherein a jitter buffer 104 is interposed between two network elements 102 and 106 (the buffer can be at any point in the flow, and can be directionally dependant). Network elements 102 and 106 may be computers or other devices, or entire networks, or a combination thereof. Data traveling between network element 102 and network element 106 must always pass through jitter buffer 104. In some cases, data may not be sent from one network element to the other until a substantial portion of a set of packets have been received by jitter buffer 104. As such, the use of jitter buffer 104 delays traffic between network elements 102 and 106.
A communication service provider provides communications services to customers. For example, Sprint Corporation provides telephony and Internet services to many businesses. The 3rd party communications network between the service provider and the customer are referred to as access or the access provider. Sometimes, the service provider also provides the access for the communication services, and thus, the service provider is also the access provider. For example, Sprint Corporation may provide wireless access between the customer and Sprint's service systems that provide the Internet and telephony services. Other times, the service provider does not provide the access, and instead, a separate access provider provides the access between the customer and the service provider. For example, a cable television company may provide the access between customers and Sprint, where Sprint provides the customer with Internet and telephony services over the access provided by the cable television company. This situation appears to be expanding as a growing number of companies are providing access and a growing number of other companies are providing communication services. Tracking the quality of service delivered by a communication service provider, and that delivered by separate access providers has therefore become crucial.
Quality issues in a packet network, such as dropped or delayed packets, can be especially vexing in the context of a real-time application, since the problems can usually be mitigated, but not eliminated. Further, the problems are often transient; one flow may have serious quality issues while another has none. It can thus be difficult to determine the location of flow problems in a packet network. This is especially true when multiple networks are linked together. Poor reception on a session initiation protocol (SIP) enabled phone may be on the sender's network, the recipient's network, or any of the networks in between. Further, the user may have a service guarantee which promises a specified minimum level of performance. When this minimum level of performance is not met, it remains difficult to test service paths and determine which service provider should be held responsible for affecting repairs, and/or held responsible for flow quality issues. Until now, service providers had to use testing methods with slowed traffic down, were intrusive, complex to implement, and often required service technicians to be present at the physical location of the resource being tested.